庫合約(Library)是一種特殊類型的合約,能夠提高代碼的可重用性並減少 gas 消耗。庫合約通常包含一組常用的函數,讓其他合約引用和調用,庫合約有一些限制和特點。
庫合約不能包含任何狀態變數,因此它們不會影響區塊鏈上的狀態。
庫合約不能繼承其他合約,也不能被其他合約繼承。
庫合約不具備接收以太幣的功能,因此不能有 payable 函數。
庫合約一旦部署,就永遠存在於區塊鏈上,不能被銷毀或刪除。
使用庫函數有兩種方式。
使用 using A for B 指令可以將庫 A 中的函數附加到類型 B 上。在這種情況下,庫 A 中的函數會自動成為類型 B 的成員函數,可以直接調用。
可以直接使用庫合約的名稱來調用其中的函數。